With context-based computing a person with a Smartphone may wish to exchange his phone number with another person that also has a Smartphone. If the two users are nearby one another, they may “bump” their phones together thereby generating environmental “context” data (e.g., accelerometer data) related to the bump. Each phone may sense the environmental data and then transmit sensed environmental data to a remote server. The server may then compare the sensed data from each device to determine if the two smart phones are truly nearby one another (i.e., each phone recorded similar environmental data that would be available to phones that participated in the bump). If the server determines there to be a sufficient match of the sensed data from each phone, the phones may be deemed to be local to one another. The phones may then be permitted to communicate additional data (e.g., phone numbers) indirectly to one another, based on this established link, via the server. Alternatively, systems may send the sensed environmental information directly between the two devices “in the clear” (e.g., without encryption). However, either of the above systems may have data security risks, privacy risks, or may suffer lags on device performance due to indirect data routing via a remote server.